
Since Ubuntu Touch has upgraded from Focal to Noble, all of those apps that I updated to Focal have to be updated, again. Fortunately, the process is going fairly quickly, with most apps just requiring minor tweaking here and there to be Noble ready.
I have been going through the apps in the order I originally updated them. Meaning the first apps I updated from Xenial to Focal are now the first apps that I am updating from Focal to Noble. This helps me keep track of the apps I still need to update, because I can sort them by oldest update on the open-store.
One of the big things I am doing for each app, though, is adding a file to run the Gitlab CI, so every update I do to the repository is automatically built by Gitlab. This comes in handy as I don't need to build the apps on my own computer anymore. If you are looking to do the same, you simply need to create a .gitlab-ci.yml file in your root directory. In that file, you need one of two build recipe's, either for building an "all" app, that is arch independent, like pure QML apps or web apps, or you need a recipe for building an "arch" dependent app, such as one that includes binaries for armhf or arm64, etc.
I've had to do both, so I will show both types of build recipe's here, in case it helps someone else. Here is the "all" build recipe:
variables:
CLICKABLE_VERSION: "8.6"
.all: &all
variables:
ARCH: "all"
ARCH_TRIPLET: "all"
.myapp:
image: "clickable/ci-ut24.04-1.x-amd64"
script: 'clickable build -a all'
artifacts:
paths:
- "build/all/app"
expire_in: 1 week
myapp_all:
<<: *all
extends: .myapp
Of course, change the word "myapp" in all three places in this file for your app's name. If you need an example, you can look at one of my apps that does this: OhSteem
The other example, for apps that are dependent upon the architecture of the system they install on, you need your file to look like this:
variables:
CLICKABLE_VERSION: "8.6"
.armhf: &armhf
variables:
ARCH: "armhf"
ARCH_TRIPLET: "arm-linux-gnueabihf"
.arm64: &arm64
variables:
ARCH: "arm64"
ARCH_TRIPLET: "aarch64-linux-gnu"
.amd64: &amd64
variables:
ARCH: "amd64"
ARCH_TRIPLET: "x86_64-linux-gnu"
.myapp:
image: "clickable/ci-ut24.04-1.x-amd64"
script: 'clickable build -a $ARCH'
artifacts:
paths:
- "build/$ARCH_TRIPLET/app"
expire_in: 1 week
myapp_armhf:
<<: *armhf
extends: .myapp
myapp_arm64:
<<: *arm64
extends: .myapp
myapp_amd64:
<<: *amd64
extends: .myapp
Of course, change the word "myapp" in all seven places to the name of your app to use this. If you need an example, check out one of my apps: Gearsystem
Hopefully that helps others as well. When you have this file in your repository on Gitlab, any time you push files to your repository, it will automatically run this build recipe and try to build your app, in this case, a click. This makes it very easy to share the builds with others and allows for quick testing, as most of the clicks I am working with are built in under 2 minutes, which is pretty handy!
Linux - keep it simple.